<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 1. 如何创建Map数据结构  => 构造函数Map创建   ("值-值"的键值对结构)

    var m = new Map();
    console.log(m);
    console.log(m.size);


    // Map相关的属性和拓展方法

    // 属性:
    // size   Map数据结构成员的个数(数据的条数)

    // 拓展方法
    // set(key,val)  对应键名设置数据 => 返回值: Map数据本身  (设置/修改 => 没有就新增 有就修改)
    // get(key)      对应键名取值  => 返回值:键值
    // delete(key)   对应键名删除数据 (单删) 返回值:删除成功 => true 失败:false
    // clear()       清空Map数据接口 (清除所有)  返回值: undefined
    // has()         表示某个键是否在当前Map对象之中。
    
    // forEach(function(val,key,map))       接收一个回调函数,每次循环时执行     


    var arr = [1,2,3];
    var obj = {a:1,b:2};
    var div = document.createElement("div");

    // set()
    // m.set("hello","world");
    // m.set(100,200);
    // m.set(true,false);
    // m.set(null,undefined);
    // m.set(arr,arr);
    // m.set(obj,obj);
    // m.set(div,div);
    // console.log(m.set("hello","world"));

    // 链式操作
    m.set("hello","world").set("hello","你好").set(100,200).set(true,false).set(null,undefined).set(arr,arr).set(obj,obj).set(div,div);

    // get()
    // console.log(m.get("hello"));
    // console.log(m.get(100));
    // console.log(m.get(true));
    // console.log(m.get(null));
    // console.log(m.get(arr));
    // console.log(m.get(obj));
    // console.log(m.get(div));


    // delete 
    // console.log(m.delete("heihei"));
    // console.log(m.delete("hello"));
    // console.log(m.delete(100));
    // console.log(m.delete(true));
    // console.log(m.delete(null));
    // console.log(m.delete(arr));
    // console.log(m.delete(obj));
    // console.log(m.delete(div));

    // console.log(m.clear());

    // console.log(m.has("hello"));
    // console.log(m.has(100));
    // console.log(m.has(true));
    // console.log(m.has(null));
    // console.log(m.has(arr));
    // console.log(m.has(obj));
    // console.log(m.has(div));
    
    // console.log(m);

    m.forEach(function(val,key,map){
        console.log(key,val);
    })













</script>
</html>